package ma.myschool.app.dao.hibernate;

import java.util.List;

import ma.myschool.app.dao.GroupeDao;
import ma.myschool.app.model.AnneeScolaire;
import ma.myschool.app.model.Classe;
import ma.myschool.app.model.Groupe;

import org.springframework.stereotype.Repository;


/**
 * This class interacts with hibernate session to save/delete and
 * retrieve Role objects.
 *
 * @author <a href="mailto:bwnoll@gmail.com">Bryan Noll</a>
 * @author jgarcia (updated to hibernate 4)
 */
@Repository
public class GroupeDaoHibernate extends GenericDaoHibernate<Groupe, Long> implements GroupeDao {

    /**
     * Constructor to create a Generics-based version using Role as the entity
     */
    public GroupeDaoHibernate() {
        super(Groupe.class);
    }

	@Override
	public List<Groupe> getGroupeByClasse(Classe classe, AnneeScolaire anneeScolaire) {
		return getSession().createQuery("FROM Groupe g WHERE g.classe.id=" + classe.getId() + " AND g.anneeScolaire.id=" + anneeScolaire.getId()).list();
	}
}
